package com.pai4j.log.constants;

/**
 * 日志常量类
 *
 * @author: CYM-pai
 * @date: 2025/07/29 15:07
 **/
public class LogConstants {

    /**
     * 日志Redis缓存前缀
     */
    public static final String LOG_CACHE_PREFIX = "PAI4J_LOG_";

    /**
     * 操作日志缓存前缀
     */
    public static final String OPERATION_LOG_CACHE_PREFIX = LOG_CACHE_PREFIX + "OPERATION_";

    /**
     * 日志统计缓存前缀
     */
    public static final String LOG_STATISTICS_CACHE_PREFIX = LOG_CACHE_PREFIX + "STATISTICS_";

    /**
     * 链路追踪ID请求头名称
     */
    public static final String TRACE_ID_HEADER = "X-Trace-Id";

    /**
     * 链路追踪ID MDC键名
     */
    public static final String TRACE_ID_MDC_KEY = "traceId";

    /**
     * 用户ID MDC键名
     */
    public static final String USER_ID_MDC_KEY = "userId";

    /**
     * 默认缓存过期时间（秒）
     */
    public static final int DEFAULT_CACHE_EXPIRE_TIME = 3600;

    /**
     * 日志批量处理大小
     */
    public static final int BATCH_SIZE = 100;

    /**
     * 异步线程池核心线程数
     */
    public static final int ASYNC_CORE_POOL_SIZE = 5;

    /**
     * 异步线程池最大线程数
     */
    public static final int ASYNC_MAX_POOL_SIZE = 10;

    /**
     * 异步线程池队列容量
     */
    public static final int ASYNC_QUEUE_CAPACITY = 1000;

    /**
     * 未知操作
     */
    public static final String UNKNOWN_OPERATION = "未知操作";

    /**
     * 未知模块
     */
    public static final String UNKNOWN_MODULE = "未知模块";

    /**
     * 系统用户
     */
    public static final String SYSTEM_USER = "SYSTEM";
}
